1. Field of the Invention
The present invention relates generally to memory modules of a computer system, and more specifically to devices and methods for improving the performance, the memory capacity, or both, of memory modules.
2. Description of the Related Art
Certain types of memory modules comprise a plurality of dynamic random-access memory (DRAM) devices mounted on a printed circuit board (PCB). These memory modules are typically mounted in a memory slot or socket of a computer system (e.g., a server system or a personal computer) and are accessed by the processor of the computer system. Memory modules typically have a memory configuration with a unique combination of rows, columns, and banks which result in a total memory capacity for the memory module.
For example, a 512-Megabyte memory module (termed a “512-MB” memory module, which actually has 229 or 536,870,912 bytes of capacity) will typically utilize eight 512-Megabit DRAM devices (each identified as a “512-Mb” DRAM device, each actually having 229 or 536,870,912 bits of capacity). The memory cells (or memory locations) of each 512-Mb DRAM device can be arranged in four banks, with each bank having an array of 224 (or 16,777,216) memory locations arranged as 213 rows and 211 columns, and with each memory location having a width of 8 bits. Such DRAM devices with 64 M 8-bit-wide memory locations (actually with four banks of 227 or 134,217,728 one-bit memory cells arranged to provide a total of 226 or 67,108,864 memory locations with 8 bits each) are identified as having a “64 Mb×8” or “64 M×8-bit” configuration, or as having a depth of 64 M and a bit width of 8. Furthermore, certain commercially-available 512-MB memory modules are termed to have a “64 M×8-byte” configuration or a “64 M×64-bit” configuration with a depth of 64 M and a width of 8 bytes or 64 bits.
Similarly, a 1-Gigabyte memory module (termed a “1-GB” memory module, which actually has 230 or 1,073,741,824 bytes of capacity) can utilize eight 1-Gigabit DRAM devices (each identified as a “1-Gb” DRAM device, each actually having 230 or 1,073,741,824 bits of capacity). The memory locations of each 1-Gb DRAM device can be arranged in four banks, with each bank having an array of memory locations with 214 rows and 211 columns, and with each memory location having a width of 8 bits. Such DRAM devices with 128 M 8-bit-wide memory locations (actually with a total of 227 or 134,217,728 memory locations with 8 bits each) are identified as having a “128 Mb×8” or “128 M×8-bit” configuration, or as having a depth of 128 M and a bit width of 8. Furthermore, certain commercially-available 1-GB memory modules are identified as having a “128 M×8-byte” configuration or a “128 M×64-bit” configuration with a depth of 128 M and a width of 8 bytes or 64 bits.
The commercially-available 512-MB (64 M×8-byte) memory modules and the 1-GB (128 M×8-byte) memory modules described above are typically used in computer systems (e.g., personal computers) which perform graphics applications since such “x8” configurations are compatible with data mask capabilities often used in such graphics applications. Conversely, memory modules with “x4” configurations are typically used in computer systems such as servers which are not as graphics-intensive. Examples of such commercially available “x4” memory modules include, but are not limited to, 512-MB (128 M×4-byte) memory modules comprising eight 512-Mb (128 Mb×4) memory devices.
The DRAM devices of a memory module are generally arranged as ranks or rows of memory, each rank of memory generally having a bit width. For example, a memory module in which each rank of the memory module is 64 bits wide is described as having an “x64” organization. Similarly, a memory module having 72-bit-wide ranks is described as having an “x72” organization.
The memory capacity of a memory module increases with the number of memory devices. The number of memory devices of a memory module can be increased by increasing the number of memory devices per rank or by increasing the number of ranks. For example, a memory module with four ranks has double the memory capacity of a memory module with two ranks and four times the memory capacity of a memory module with one rank. Rather than referring to the memory capacity of the memory module, in certain circumstances, the memory density of the memory module is referred to instead.
During operation, the ranks of a memory module are selected or activated by control signals that are received from the processor. Examples of such control signals include, but are not limited to, rank-select signals, also called chip-select signals. Most computer and server systems support one-rank and two-rank memory modules. By only supporting one-rank and two-rank memory modules, the memory density that can be incorporated in each memory slot is limited.